import axios from "axios";
import { message } from 'antd'
const envConfig = require('../../config/api')
// 默认请求头
// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
// 超时
axios.defaults.timeout = 2500;

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  console.log('[ 请求拦截器 ]', config)
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  console.log('[ 相应拦截器 ]', response)
  const { status, data = {} } = response
  if (status !== 200) {
    switch (status) {
      case 401:
          message.error('token失效')
        return;
      case 500:
        message.error('服务器链接失败')
      return;
      default:
        return;
    }
  } else {
    return data;
  }
}, function (error) {
  // 对响应错误做点什么
  console.log('[ 相应拦截器错误拦截 ]', error)

  return Promise.reject(error);
});

class Request {
  static get (url, apiType) {
    console.log('[ config ]', envConfig[apiType])
    return axios.get(envConfig[apiType] + url)
  }
}

export default Request
